// 对 axios 进行二次封装，
// 很多地方要想服务器发送请求，球球的服务器地址都是一样的。所以需要统一封装

// 1引用axios
import axios from "axios";

import "nprogress/nprogress.css";
import NProgress from "nprogress";
// 2:创建对象
const ajax = axios.create({
  baseURL: "http://39.98.123.211/",
  timeout: 5000,
});
// 设置请求拦截器
ajax.interceptors.request.use((config) => {
  NProgress.start();
  return config;
});

// 设置响应拦截器
ajax.interceptors.response.use(
  (response) => {
    NProgress.done();
    return response.data;
  },
  (error) => {
    NProgress.done();
    // 如果走这里说明出错了，返回Promise的失败实例
    return Promise.reject(new Error(error.message));
  }
);

// 导出对象
export default ajax;
